package com.jrx.anytxn.transaction.entity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 第三方还款流水表 
 * 表:tl_third_party_payment 
 * @author Administrator 
 * @date 2021-01-04 
 */
public class TlThirdPartyPayment {
    /**
     * 主键
     * 表字段:id
     */
    private Long id;

    /**
     * 租戶id
     * 表字段:tenant_id
     */
    private String tenantId;

    /**
     * 流水号
     * 表字段:seq_no
     */
    private String seqNo;

    /**
     * 请求流水号
     * 表字段:pay_id
     */
    private String payId;

    /**
     * 客户id
     * 表字段:customer_id
     */
    private String customerId;

    /**
     * 机构号
     * 表字段:organization_id
     */
    private String organizationId;

    /**
     * 用户user_id
     * 表字段:user_id
     */
    private String userId;

    /**
     * 渠道id
     * 表字段:channel
     */
    private String channel;

    /**
     * 产品id
     * 表字段:product_id
     */
    private String productId;

    /**
     * 贷款订单id
     * 表字段:loan_id
     */
    private String loanId;

    /**
     * 还款类型(pay = 正常还款 prepayCurr = 提前还当期 pretermination = 提前结清 overdue = 逾期还款 payTerm = 指定期次还款 crtpay = 回购 cmpspay = 代偿)
     * 表字段:payment_type
     */
    private String paymentType;

    /**
     * 还款期次 指定期次还款，只能由远及近还
     * 表字段:payment_term
     */
    private Integer paymentTerm;

    /**
     * 联合贷标识(0=否 1=是)
     * 表字段:joint_loan_flag
     */
    private String jointLoanFlag;

    /**
     * 还款金额
     * 表字段:amount
     */
    private BigDecimal amount;

    /**
     * 本金
     * 表字段:principal_amount
     */
    private BigDecimal principalAmount;

    /**
     * 利息
     * 表字段:interest_amount
     */
    private BigDecimal interestAmount;

    /**
     * 罚息
     * 表字段:penalty_amount
     */
    private BigDecimal penaltyAmount;

    /**
     * 复利
     * 表字段:compound_amount
     */
    private BigDecimal compoundAmount;

    /**
     * 费用
     * 表字段:fee_amount
     */
    private BigDecimal feeAmount;

    /**
     * 交易说明
     * 表字段:description
     */
    private String description;

    /**
     * S 成功 T 待分配
     * 表字段:sum_status
     */
    private String sumStatus;

    /**
     * 业务日期
     * 表字段:business_date
     */
    private Date businessDate;

    /**
     * 对账日期
     * 表字段:collate_date
     */
    private Date collateDate;

    /**
     * 创建时间
     * 表字段:create_time
     */
    private Date createTime;

    /**
     * 最后更新时间
     * 表字段:update_time
     */
    private Date updateTime;

    /**
     * 最后更新操作员
     * 表字段:update_by
     */
    private String updateBy;

    /**
     * 记录版本号
     * 表字段:record_version_number
     */
    private Integer recordVersionNumber;

    /**
     * 灰度版本（P生产  G灰度）
     * 表字段:gray_version
     */
    private String grayVersion;

    /**
     * 获取主键
     * @return id Long
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置主键
     * @param id 主键
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取租戶id
     * @return tenantId String
     */
    public String getTenantId() {
        return tenantId;
    }

    /**
     * 设置租戶id
     * @param tenantId 租戶id
     */
    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    /**
     * 获取流水号
     * @return seqNo String
     */
    public String getSeqNo() {
        return seqNo;
    }

    /**
     * 设置流水号
     * @param seqNo 流水号
     */
    public void setSeqNo(String seqNo) {
        this.seqNo = seqNo;
    }

    /**
     * 获取请求流水号
     * @return payId String
     */
    public String getPayId() {
        return payId;
    }

    /**
     * 设置请求流水号
     * @param payId 请求流水号
     */
    public void setPayId(String payId) {
        this.payId = payId;
    }

    /**
     * 获取客户id
     * @return customerId String
     */
    public String getCustomerId() {
        return customerId;
    }

    /**
     * 设置客户id
     * @param customerId 客户id
     */
    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    /**
     * 获取机构号
     * @return organizationId String
     */
    public String getOrganizationId() {
        return organizationId;
    }

    /**
     * 设置机构号
     * @param organizationId 机构号
     */
    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    /**
     * 获取用户user_id
     * @return userId String
     */
    public String getUserId() {
        return userId;
    }

    /**
     * 设置用户user_id
     * @param userId 用户user_id
     */
    public void setUserId(String userId) {
        this.userId = userId;
    }

    /**
     * 获取渠道id
     * @return channel String
     */
    public String getChannel() {
        return channel;
    }

    /**
     * 设置渠道id
     * @param channel 渠道id
     */
    public void setChannel(String channel) {
        this.channel = channel;
    }

    /**
     * 获取产品id
     * @return productId String
     */
    public String getProductId() {
        return productId;
    }

    /**
     * 设置产品id
     * @param productId 产品id
     */
    public void setProductId(String productId) {
        this.productId = productId;
    }

    /**
     * 获取贷款订单id
     * @return loanId String
     */
    public String getLoanId() {
        return loanId;
    }

    /**
     * 设置贷款订单id
     * @param loanId 贷款订单id
     */
    public void setLoanId(String loanId) {
        this.loanId = loanId;
    }

    /**
     * 获取还款类型(pay = 正常还款 prepayCurr = 提前还当期 pretermination = 提前结清 overdue = 逾期还款 payTerm = 指定期次还款 crtpay = 回购 cmpspay = 代偿)
     * @return paymentType String
     */
    public String getPaymentType() {
        return paymentType;
    }

    /**
     * 设置还款类型(pay = 正常还款 prepayCurr = 提前还当期 pretermination = 提前结清 overdue = 逾期还款 payTerm = 指定期次还款 crtpay = 回购 cmpspay = 代偿)
     * @param paymentType 还款类型(pay = 正常还款 prepayCurr = 提前还当期 pretermination = 提前结清 overdue = 逾期还款 payTerm = 指定期次还款 crtpay = 回购 cmpspay = 代偿)
     */
    public void setPaymentType(String paymentType) {
        this.paymentType = paymentType;
    }

    /**
     * 获取还款期次 指定期次还款，只能由远及近还
     * @return paymentTerm Integer
     */
    public Integer getPaymentTerm() {
        return paymentTerm;
    }

    /**
     * 设置还款期次 指定期次还款，只能由远及近还
     * @param paymentTerm 还款期次 指定期次还款，只能由远及近还
     */
    public void setPaymentTerm(Integer paymentTerm) {
        this.paymentTerm = paymentTerm;
    }

    /**
     * 获取联合贷标识(0=否 1=是)
     * @return jointLoanFlag String
     */
    public String getJointLoanFlag() {
        return jointLoanFlag;
    }

    /**
     * 设置联合贷标识(0=否 1=是)
     * @param jointLoanFlag 联合贷标识(0=否 1=是)
     */
    public void setJointLoanFlag(String jointLoanFlag) {
        this.jointLoanFlag = jointLoanFlag;
    }

    /**
     * 获取还款金额
     * @return amount BigDecimal
     */
    public BigDecimal getAmount() {
        return amount;
    }

    /**
     * 设置还款金额
     * @param amount 还款金额
     */
    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    /**
     * 获取本金
     * @return principalAmount BigDecimal
     */
    public BigDecimal getPrincipalAmount() {
        return principalAmount;
    }

    /**
     * 设置本金
     * @param principalAmount 本金
     */
    public void setPrincipalAmount(BigDecimal principalAmount) {
        this.principalAmount = principalAmount;
    }

    /**
     * 获取利息
     * @return interestAmount BigDecimal
     */
    public BigDecimal getInterestAmount() {
        return interestAmount;
    }

    /**
     * 设置利息
     * @param interestAmount 利息
     */
    public void setInterestAmount(BigDecimal interestAmount) {
        this.interestAmount = interestAmount;
    }

    /**
     * 获取罚息
     * @return penaltyAmount BigDecimal
     */
    public BigDecimal getPenaltyAmount() {
        return penaltyAmount;
    }

    /**
     * 设置罚息
     * @param penaltyAmount 罚息
     */
    public void setPenaltyAmount(BigDecimal penaltyAmount) {
        this.penaltyAmount = penaltyAmount;
    }

    /**
     * 获取复利
     * @return compoundAmount BigDecimal
     */
    public BigDecimal getCompoundAmount() {
        return compoundAmount;
    }

    /**
     * 设置复利
     * @param compoundAmount 复利
     */
    public void setCompoundAmount(BigDecimal compoundAmount) {
        this.compoundAmount = compoundAmount;
    }

    /**
     * 获取费用
     * @return feeAmount BigDecimal
     */
    public BigDecimal getFeeAmount() {
        return feeAmount;
    }

    /**
     * 设置费用
     * @param feeAmount 费用
     */
    public void setFeeAmount(BigDecimal feeAmount) {
        this.feeAmount = feeAmount;
    }

    /**
     * 获取交易说明
     * @return description String
     */
    public String getDescription() {
        return description;
    }

    /**
     * 设置交易说明
     * @param description 交易说明
     */
    public void setDescription(String description) {
        this.description = description;
    }

    /**
     * 获取S 成功 T 待分配
     * @return sumStatus String
     */
    public String getSumStatus() {
        return sumStatus;
    }

    /**
     * 设置S 成功 T 待分配
     * @param sumStatus S 成功 T 待分配
     */
    public void setSumStatus(String sumStatus) {
        this.sumStatus = sumStatus;
    }

    /**
     * 获取业务日期
     * @return businessDate Date
     */
    public Date getBusinessDate() {
        return businessDate;
    }

    /**
     * 设置业务日期
     * @param businessDate 业务日期
     */
    public void setBusinessDate(Date businessDate) {
        this.businessDate = businessDate;
    }

    /**
     * 获取对账日期
     * @return collateDate Date
     */
    public Date getCollateDate() {
        return collateDate;
    }

    /**
     * 设置对账日期
     * @param collateDate 对账日期
     */
    public void setCollateDate(Date collateDate) {
        this.collateDate = collateDate;
    }

    /**
     * 获取创建时间
     * @return createTime Date
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取最后更新时间
     * @return updateTime Date
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置最后更新时间
     * @param updateTime 最后更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取最后更新操作员
     * @return updateBy String
     */
    public String getUpdateBy() {
        return updateBy;
    }

    /**
     * 设置最后更新操作员
     * @param updateBy 最后更新操作员
     */
    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    /**
     * 获取记录版本号
     * @return recordVersionNumber Integer
     */
    public Integer getRecordVersionNumber() {
        return recordVersionNumber;
    }

    /**
     * 设置记录版本号
     * @param recordVersionNumber 记录版本号
     */
    public void setRecordVersionNumber(Integer recordVersionNumber) {
        this.recordVersionNumber = recordVersionNumber;
    }

    /**
     * 获取灰度版本（P生产  G灰度）
     * @return grayVersion String
     */
    public String getGrayVersion() {
        return grayVersion;
    }

    /**
     * 设置灰度版本（P生产  G灰度）
     * @param grayVersion 灰度版本（P生产  G灰度）
     */
    public void setGrayVersion(String grayVersion) {
        this.grayVersion = grayVersion;
    }
}